﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Negocio;
using DevExpress.Web.ASPxEditors;
using System.Configuration;
using Entidad;
using Negocio.BL;
using EvolSoftWeb;

namespace EvolSoftWeb
{
    public partial class wFrmGrupoNuevo : System.Web.UI.Page
    {

        string idSeguridad ="2";
        OpcionLogic opcionLogic = new OpcionLogic();
        GrupoLogic grupoLogic = new GrupoLogic();
  
        List<T_S_OPCION> treeItems;
        List<T_S_OPCION> treeItemsChild;


        protected void Page_Load(object sender, EventArgs e)
        {

            if (!IsPostBack) {

            
                this.CargarArbol(opcionLogic.ObtenerOpcionesPorGrupo(0));
            }
        }




        protected void CargarArbol(List<int> list)
        {
            //this.TvListarOpciones.Nodes.Clear();

            treeItems = this.opcionLogic.listarTreaview();
            if (treeItems.Count > 0)
            {
                this.LlenarOpciones(null, null, this.tvOpciones, list);
            }

            this.tvOpciones.ExpandAll();
        }






        public void LlenarOpciones(int? codigoPadre, TreeNode node, TreeView tree, List<int> list)
        {
            treeItemsChild = treeItems.FindAll(delegate(T_S_OPCION item) { return (item.ID_PADRE == codigoPadre); });

            foreach (T_S_OPCION hijos in treeItemsChild)
            {
                TreeNode newNode = new TreeNode(hijos.DES_NOMBRE, hijos.ID_OPCION.ToString());

                if (list.Contains(hijos.ID_OPCION))
                {
                    newNode.Checked = true;
                }

                if (codigoPadre == null) tree.Nodes.Add(newNode);
                else node.ChildNodes.Add(newNode);
                this.LlenarOpciones(hijos.ID_OPCION, newNode, null, list);
            }
        }

        protected void btnGrabar_Click(object sender, EventArgs e)
        {
            this.Grabar();
           

        }

        void listarNombreGrupo() {
            grupoLogic.listarGrupo2();
        }


        void Grabar()
        {
            
            try
            {
                bool flag = false;
                List<T_S_GRUPO> listaGrupo = new List<T_S_GRUPO>();
                if ( txtDscGrupo.Text == String.Empty || txtNombreGrupo.Text == String.Empty || cboEstado.SelectedIndex == 0 )
                {
                    string script = "ShowCreateAccountWindow7();";
                    ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
                }
                else
                {
                  listaGrupo=grupoLogic.listarGrupo2();
                      foreach (T_S_GRUPO item in listaGrupo)
                        {
                            if (item.DES_NOMBRE.ToUpper() == txtNombreGrupo.Text.ToUpper())
                            {
                                flag = true;
                            }
                        }
                    if (flag)
	                       {
                               string scriptErrorDescripcion = "ShowCreateAccountWindow4();";
                               ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", scriptErrorDescripcion, true);
	                        }
                    else
                    {
                                T_S_GRUPO grupo = new T_S_GRUPO();
                                grupo.DES_NOMBRE = txtNombreGrupo.Text;
                                grupo.DES_DESCRIPCION = txtDscGrupo.Text;
                                grupo.IND_ESTADO = cboEstado.Text.Substring(0, 1);
                                grupo.USR_CREACION = Global.user;
                                grupo.USR_ACTUALIZO = "";

                                //if (grupoLogic.GrabarGrupo(grupo, Tools.ObtenerNodoSeleccionados(this.tvOpciones)) != 0)
                                //{
                                //    string script = "ShowOK();";
                                //    ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", script, true);
                                //}
                                //else
                                //{
                                //    string scriptError = "ShowCreateAccountWindow4();";
                                //    ScriptManager.RegisterStartupScript(this, typeof(Page), "carga", scriptError, true);
                                //}
                    
                    }  
                       
                    }
                   
                }

           
            catch (Exception ex)
            {

            }
        }

        protected void btnSalir_Click(object sender, EventArgs e)
        {
            Response.Redirect("wFrmGrupo.aspx?id="+idSeguridad);
        }

       

        protected void btnLimpiar_Click(object sender, EventArgs e)
        {
            txtDscGrupo.Text = "";
            txtNombreGrupo.Text = "";
        }



    }
}